package jogo;

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.LinkedList;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import figuras.Figura;
import figuras.Tipo;

public class Player implements Serializable {

	private int id;
	private String nome;
	private LinkedList<Figura> tropas;
	private final ImageIcon imageIcon;
	private ObjectOutputStream out;
	private ObjectInputStream in;
	private final int idIconEscolhido;

	public Player(String nickname, ImageIcon icon, int idIconEscolhido) {
		this.idIconEscolhido = idIconEscolhido;
		this.id = 0;
		this.nome = nickname;
		this.imageIcon = icon;
		tropas = new LinkedList<Figura>();
	}

	public ObjectOutputStream getOut() {
		return out;
	}
	
	public ObjectInputStream getIn() {
		return in;
	}
	
	public void addTropa(Figura figura) {
		tropas.add(figura);
	}
	
	public void setId(int id) {
		this.id = id;
	}

	public int getId() {
		return id;
	}

	public String getNome() {
		return nome;
	}

	public LinkedList<Figura> getTropas() {
		return tropas;
	}

	public void removeTropa(Figura alvo) throws InterruptedException {
		alvo.interrupt();
		Posicao aux = alvo.getPosicao();
		alvo.getPosicao().setNull();
		tropas.remove(alvo);
		aux.removeFigura();
		if (alvo.getTipo() == Tipo.REI) {
			int x;
		}
	}

	public ImageIcon getImageIcon() {
		return imageIcon;
	}

	public int getIdIconEscolhido() {
		return idIconEscolhido;
	}
}
